package io.kafka101.clickstream.rest.proxy; import io.kafka101.clickstream.rest.proxy.service.PingService; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.test.JerseyTest; import org.junit.Test; import javax.ws.rs.core.Application; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; public class PingServiceTest extends JerseyTest { @Override protected Application configure() { return new ResourceConfig(PingService.class); } @Test public void pingSync() { String response = target() .path("ping") .request() .get(String.class); assertThat(response, is("pong")); } @Test public void pingAsync() throws InterruptedException, ExecutionException, TimeoutException { Future<String> response = target() .path("ping") .request().async() .get(String.class); assertThat(response.get(3000, TimeUnit.MILLISECONDS), is("pong")); } }